//此文件是对axios的二次封装 因为axios本身的功能不能满足我们的需求
import axios from "axios";//安装(npm i axios -S)并引入axios
import Nprogress from 'nprogress'
import 'nprogress/nprogress.css'
//
const service=axios.create({
    baseURL:'/mock',
    timeout:"20000"
})
//请求拦截器
service.interceptors.request.use((config)=>{
    //开启进度条
    Nprogress.start()
    return config
})
//响应拦截器
service.interceptors.response.use(response=>{
    //关闭进度条
        Nprogress.done()
        return response.data//返回响应的数据
    },
error=>{
    //统一处理错误
    alert('请求失败'+error.message)
    //失败的时候也要关闭进度条
    Nprogress.done()
    //统一处理完错误之后 你可以继续让后面再次处理,也可以选择不处理
     return new Promise(()=>{})//中断promsie链条
    // return Promise.reject(new Error('请求失败'))
    //代表错误可以继续往后传递 后面axios返回的promsie 可以继续处理
})
//对外暴露
export default service